<!--
The following tags are permitted: a, b, blockquote, br, code, dd, div,
dl, dt, em, hr, i, li, ol, p, pre, strong, tt, ul, u. All other tags will be
stripped. All tags aside from the following must be closed: br, hr, li, p.
Failure to close tags may result in HTML output which is not rendered
properly. Any style attributes or on* attributes (such as mouseover) will be
stripped. JavaScript will result in the total stripping of HTML tags from
your input. Please limit your input to properly formed HTML snippets
conforming to the above rules.
-->

<h2> How to release a new version of IT++ </h2>


<p> This document describes briefly the recommended procedure of releasing a
new version of IT++ using SourceForge project site. </p>


<p> The following steps are required to prepare and release of the
distribution package: </p>

<ul>

<li> Update <tt>NEWS</tt> and <tt>ChangeLog</tt> files with appropriate
  information including what has changed since the previous release. Then
  commit the changes into the SVN repository. </li>

<li> Create a release tag by copying the source tree to be released to the
  tags subdirectory in the SVN repository, e.g.:<br>
<code>% svn copy https://svn.sourceforge.net/svnroot/itpp/itpp/trunk https://svn.sourceforge.net/svnroot/itpp/itpp/tags/release-3-10-0</code>
</li>

<li> Export a clean, unversioned copy of the IT++ sources using the release
  tag:<br>
<code>% svn export https://svn.sourceforge.net/svnroot/itpp/itpp/tags/release-3-10-0 itpp-3.10.0</code>
</li>

<li> Regenerate the <tt>configure</tt> script and other autogenerated files
  using:<br>
<code>% ./autogen.sh</code><br>
To perform this step, autoconf, automake and libtool tools have to be
available in the system. </li>

<li> Configure the exported sources:<br>
<code>% ./configure</code> </li>

<li> Create the distribution packages using the following command:<br>
<code>% make distcheck</code><br>
This will configure, compile and check the package. The output packages will
be named <tt>itpp-3.10.0.tar.gz</tt> and <tt>itpp-3.10.0.tar.bz2</tt>, for
instance. </li>

<li> Create the documentation packages using the following commnad:<br>
<code>% make disthtml</code><br>
The output documentation packages will be
named <tt>itpp-html-doc-3.10.0.tar.gz</tt>
and <tt>itpp-html-doc-3.10.0.tar.bz2</tt>, for egzample. </li>

<li> Upload the distribution and documentation packages to the SourceForge
  server: </li>

<ul>

<li> Start ftp connection with the SourceForge upload server:<br>
<code>% ftp upload.sourceforge.net</code> </li>

<li> Login as <tt>anonymous</tt> and give email as password </li>

<li> Change remote directory to <tt>/incomming</tt>:<br>
<code>% cd /incoming</code></li>

<li> Upload packages:<br>
<code>% mput itpp*-3.10.0.tar.*</code> </li>

</ul>

<li> Access SourceForge file release interface and add the packages.
  Remember to fill in the Release Notes and ChangeLog parts with appropriate
  infmormation. </li>

</ul>


<p> In order to update the online HTML documentation, the following
procedure is required: </p>

<ul>

<li> Upload the documentation package into the SourceForge shell server:<br>
<code>% scp itpp-html-doc-3.10.0.tar.gz your_login@shell.sourceforge.net:/home/groups/i/it/itpp/htdocs/</code>
</li>

<li> Login into the SourceForge shell account:<br>
<code>% ssh your_login@shell.sourceforge.net</code> </li>

<li> Change the current directory:<br>
<code>% cd /home/groups/i/it/itpp/htdocs</code> </li>

<li> Unpack the uploaded documentation:<br>
<code>% tar zxf itpp-html-doc-3.10.0.tar.gz</code> </li>

<li> Rename the unpacked directory to <tt>3.10.0</tt>:<br>
<code>% mv itpp-html-doc-3.10.0 3.10.0</code> </li>

<li> Update the <tt>latest</tt> link:<br>
<code>% rm latest; ln -s 3.10.0 latest</code> </li>

<li> Change the group properities of the uploaded files:<br>
<code>% chmod -R g+w 3.10.0</code> </li>

<li> Remove the package from the shell server:<br>
<code>% rm itpp-html-doc-3.10.0.tar.gz</code> </li>

</ul>

<p> Finally, you should send an announcement to:
<a href="mailto:itpp-announce@lists.sourceforge.net">
itpp-announce@lists.sourceforge.net </a> </p>

</ul>
